#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

struct node{
    ll a,b;
};

bool cmp(const node& a,const node& b){
    return a.a<b.a;
}

void solve(){
    int n,m;
    cin>>n>>m;
    vector<ll> nums(n);
    vector<node> ki(m);
    vector<ll> pre(m+5,0);

    for(int i=0;i<n;i++){
        cin>>nums[i];
    }
    for(int i=0;i<m;i++){
        cin>>ki[i].a>>ki[i].b;
    }

    sort(ki.begin(),ki.end(),cmp);

    for(int i=0;i<m;i++){
        pre[i+1]=pre[i]+ki[i].b;
    }

    for(int i=0;i<n;i++){
        ll left=0,right=m-1;
        while(left<=right){
            ll mid=(left+right)/2;
            if(nums[i]<ki[mid].a){
                right=mid-1;
            }else{
                left=mid+1;
            }
        }
        cout<<pre[left]<<' ';
    }
}

int main(){
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	int _=1;
	// cin>>_;
	while(_--){
		solve();
	}
	return 0;
}
